#ifndef __THREAD_POOL__
#define __THREAD_POOL__

#include <my_header.h>
#include "tid_arr.h"
#include "task_queue.h"

// 打印日志
// 客户端建立连接的时间和客户端连接信息
#define CONNECT_LOG(logfd){ write(logfd, ""); }
// 客户端进行操作的时间，操作记录
#define OPERATE_LOG(logfd){ wirte(logfd, ""); }

typedef struct threadPool_s{
    tidArr_t tidArr;  // 每个线程的信息
    taskQueue_t taskQueue; // 已连接的客户端的队列
    pthread_mutex_t mutex;
    pthread_cond_t cond;
    int exitFlag; // 线程退出标志位
} threadPool_t;

int getValidStr(char *input, char *str);                                                                            
int getServerConf(char *fileconf, char *ip, char *port, int *pworkernum);
int login_server(int netfd);
int threadPoolInit(threadPool_t *pThreadPool, int workernum);
int makeWorker(threadPool_t *pThreadPool, int workernum);
int initTCP(char *ip, char *port);
int epollAdd(int epfd, int fd);
int epollDel(int epfd, int fd);


#endif

